Spring JDBC ব্যবহার করে ডাটাবেসে SQL Script চালানো একটি সহজ এবং কার্যকর পদ্ধতি। বিশেষ করে, JdbcTemplate
বা ResourceDatabasePopulator
ব্যবহার করে আপনি SQL স্ক্রিপ্ট এক্সিকিউট করতে পারেন।
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class SQLScriptRunner {
@Autowired
private JdbcTemplate jdbcTemplate;
public void runSQLScript() {
String sql = "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100));";
jdbcTemplate.execute(sql);
System.out.println("SQL Script executed successfully!");
}
}
jdbcTemplate.execute(sql)
:Spring Framework-এর ResourceDatabasePopulator
ক্লাস ব্যবহার করে বড় SQL স্ক্রিপ্ট ফাইল চালানো যেতে পারে।
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com');
INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane.doe@example.com');
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
@Component
public class SQLScriptRunner {
private final DataSource dataSource;
public SQLScriptRunner(DataSource dataSource) {
this.dataSource = dataSource;
}
public void runSQLScript() {
ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
resourceDatabasePopulator.addScript(new ClassPathResource("schema.sql"));
try {
resourceDatabasePopulator.execute(dataSource);
System.out.println("SQL script executed successfully!");
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error executing SQL script.");
}
}
}
ResourceDatabasePopulator
:addScript(new ClassPathResource("schema.sql"))
:execute(dataSource)
:<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.10</version>
</dependency>
Spring Boot প্রকল্পে আপনি সরাসরি data.sql
বা schema.sql
ফাইল ব্যবহার করতে পারেন। Spring Boot অ্যাপ্লিকেশন চালানোর সময় এই ফাইলগুলো অটোমেটিকভাবে চালানো হবে।
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
INSERT INTO users (name, email) VALUES ('John Doe', 'john.doe@example.com');
INSERT INTO users (name, email) VALUES ('Jane Doe', 'jane.doe@example.com');
Spring Boot schema.sql
এবং data.sql
ফাইল লোড করবে এবং ডাটাবেসে প্রয়োজনীয় স্ক্রিপ্ট চালাবে।
spring.sql.init.mode=always
spring.sql.init.schema-locations=classpath:schema.sql
spring.sql.init.data-locations=classpath:data.sql
Spring JDBC-তে SQL Script চালানোর জন্য বিভিন্ন পদ্ধতি রয়েছে। ছোট স্ক্রিপ্টের জন্য JdbcTemplate
ব্যবহার করতে পারেন, আর বড় এবং একাধিক ফাইল পরিচালনার জন্য ResourceDatabasePopulator
ব্যবহার করা উত্তম। Spring Boot ব্যবহার করলে schema.sql
এবং data.sql
ফাইল স্বয়ংক্রিয়ভাবে চালানোর সুবিধা পাওয়া যায়।
Read more